package cn.edu.wynu.define;

public class ArrayDemo05 {
    public static void main(String[] args) {
        // 1.掌握动态初始化数组
        // 数据类型[] 数组名 = new 数据类型[长度];
        int[] arr = new int[10];

        // 之后赋值
        arr[0] = 1;
        arr[1] = 2;
        System.out.println(arr[0]);

        // 注意：静态初始化和动态初始化数组的写法是独立的，不能混用
        // int[] arr1 = new int[3]{1, 3, 5}; // 错误写法

        System.out.println("----------------------------------------------");

        // 2.动态初始化数组元素默认值规则：
        // byte, short, int, long, char  默认值为0
        // float, double                 默认值为0.0
        // boolean                       默认值为false
        // 类、接口、数组、String          默认值为null

        char[] chars = new char[5];
        System.out.println((int)chars[0]);
        System.out.println((int)chars[4]);

        double[] scores = new double[50];
        System.out.println(scores[0]);
        System.out.println(scores[49]);

        boolean[] booleans = new boolean[5];
        System.out.println(booleans[0]);
        System.out.println(booleans[4]);

        String[] names = new String[5];
        System.out.println(names[0]);
        System.out.println(names[4]);

        // 3.两种数组定义的方法各自适合什么业务场景?
        // 动态初始化:适合开始不确定具体元素值，只知道元素个数
        // 静态初始化:适合一开始就知道要存入哪些元素值
    }
}
